package com.example.demo.mapper.base;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.demo.entity.BookFavorites;
import org.apache.ibatis.annotations.Param;
import java.util.List;

/**
 * 书籍收藏表(BookFavorites)表数据库访问层
 *
 * @author 杨丽辉
 * @since 2021-03-10 10:50:24
 */
public interface BookFavoritesBaseMapper extends BaseMapper<BookFavorites> {

 /**
     * 通过ID和其他条件查询单条数据
     *
     * @param bookFavorites 实例对象
     * @return 实例对象
     */
    BookFavorites queryBookFavoritesLimit1(BookFavorites bookFavorites);

    /**
     * 查询指定行数据
     * @param bookFavorites 实例对象
     * @param offset 查询起始位置
     * @param limit 查询条数
     * @return 对象列表
     */
    List<BookFavorites> queryAllBookFavoritesByLimit(@Param("bookFavorites") BookFavorites bookFavorites,@Param("offset") int offset, @Param("limit") int limit);

    /**
     * 查询数据条数
     * @return 条数
     */
    int countAllBookFavorites(BookFavorites bookFavorites);
    
    /**
     * 通过实体作为筛选条件查询
     *
     * @param bookFavorites 实例对象
     * @return 对象列表
     */
    List<BookFavorites> queryAllBookFavorites(BookFavorites bookFavorites);

    /**
     * 新增数据
     *
     * @param bookFavorites 实例对象
     * @return 影响行数
     */
    int insertBookFavorites(BookFavorites bookFavorites);

    /**
     * 修改数据
     *
     * @param bookFavorites 实例对象
     * @return 影响行数
     */
    int updateBookFavorites(BookFavorites bookFavorites);

    /**
     * 通过主键删除数据
     * @param bookFavoritesId 主键
     * @return 影响行数
     */
    int deleteBookFavoritesById(String bookFavoritesId);
     
    
    
    /**
     * 通过主键列表删除，列表长度不能为0
     * @param list 集合
     * @return 条数
     */
    int deleteBookFavoritesByIds( List<String> list);
    
    /**
     * 通过主键修改实体列表，列表长度不能为0，注意：当实体属性为null时，对应的列也会别更新为null
     * @param list 集合
     * @return 条数
     */
    int updateBookFavoritesBatch( List<BookFavorites> list);
    
     /**
     * 批量其他列,除主键以外的列，列表长度不能为0,字段是空的就置为null
     * @param list 集合
     * @return 条数
     */
    int insertBookFavoritesBatch( List<BookFavorites> list);
    
     /**
     * 通过实体非空属性删除
     * @param bookFavorites  实体
     * @return 条数
     */
     int deleteBookFavoritesByEntity( BookFavorites bookFavorites);

     /**
     * 通过实体不为空的属性作为筛选条件查询列表
     * @param bookFavorites  实体
     * @return list
     */
     List<BookFavorites> listBookFavoritesByEntity(BookFavorites bookFavorites);
    
     /**
     * 新增实体属性不为null的列
     * @param bookFavorites  实体
     * @return 条数
     */
     int insertBookFavoritesSelect( BookFavorites bookFavorites);
     
     /**
     * 批量新增新增实体属性不为null的列
     * @param list  实体
     * @return 条数
     */
     int insertBookFavoritesListSelect( List<BookFavorites> list);
     /**
     * 通过实体不为空的属性作为筛选条件查询单个
     * @param bookFavorites  实体
     * @return 单个
     */
     BookFavorites getBookFavoritesByEntity(BookFavorites bookFavorites);

}
